Accurate energy characterization of OS services in embedded systems

نویسندگان

  • Bassem Ouni
  • Cécile Belleudy
  • Eric Senn
چکیده

As technology scales for increased circuit density and performance, the management of power consumption in embedded systems is becoming critical. Because the operating system (OS) is a basic component of the embedded system, the reduction and characterization of its energy consumption is a main challenge for the designers. In this work, a flow of low power OS energy characterization is introduced. The variation of the energy and power consumption of the embedded OS services is studied. The remainder of this article details the methods used to determine energy and power overheads of a set of basic services of the embedded OS: scheduling, context switch and inter-process communication. The impacts of hardware and software parameters like processor frequency and scheduling policy on the energy consumption are analyzed. Also, models and laws of the power and energy are extracted. Then, to quantify the low power OS energetic overhead, the obtained models are integrated in the system level design. Our method allows estimating the energy consumption of the low power OS services when running an application on a specific hardware platform. Introduction Nowadays energy consumption in embedded systems has become one of the key challenges for the software and hardware designers. The embedded operating system (OS) serves as an interface between the application software and the hardware. It is an important software component in many embedded system applications since it drives the exploitation of the hardware platform by offering a wide variety of services: task management, scheduling, inter-process communication (IPC), timer services, I/O operations and memory management. Also, the embedded OS manages the overall power consumption of the embedded system components. It includes many powermanagement policies aiming at keeping components into lower power states, thereby reducing energy consumption. The embedded systems become so complex as they contain various hardware devices and software application which interacts with the users to handle the system. The complexity of the hardware and software layers necessitates the use of a specific support allowing application to *Correspondence: [email protected] 1University of Nice Sophia-Antipolis, LEAT CNRS, 250 rue Albert Einstein, bât 4 06560 Valbonne Cedex, France Full list of author information is available at the end of the article exploit efficiently the hardware platform. This support is the embedded OS; it includes libraries and device drivers and offers a wide variety of services. Figure 1 shows the disposition of embedded systems’ different layers. The application is represented by a set of tasks {Ti, 1 ≤ i ≤ n}. Under the French research program Open-PEOPLE project [1], we aim at characterizing and optimizing the energy consumption of the embedded OS services. In this article, variation of the scheduling routines, IPC and context switch energy consumption as a function of hardware and software parameters is studied. The remainder of this article is organized as follows: Related works are described in Section “Related works”. Energy characterization and estimation flow is presented in Section “Energy characterization and estimation flow”. Section “Hardware platform” introduces the hardware platform and explains the measurement setup for measuring the energy consumption. Then, Sections “Embedded OS power and energy models” and “Experimental results” explains our methodology to characterize the embedded OS services energy overhead and describes experimental results and derived models. Section “Embedded OS services models integration in the system level design flow” shows the low power OS services’s models integration in the system level © 2012 Ouni et al.; licensee Springer. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Ouni et al. EURASIP Journal on Embedded Systems 2012, 2012:6 Page 2 of 16 http://jes.eurasipjournals.com/content/2012/1/6 Figure 1 The different layers of an embedded system. design flow. Finally, Section “Conclusion” concludes the article and proposes the future work. Related works In order to characterize energy and power overhead of embedded OSs, several studies have proposed evaluating embedded OS energy consumption at different abstraction levels. Li and John [2] introduced a routine level power model. According to them, the elementary unit is the OS service routine. So, they consider the energy consumed by the OS services as the sum of those consumed by each routine. They proposed a model of power consumption based on the correlation that they found between the power and the instruction per cycle (IPC) metric. Acquaviva et al. [3] proposed a new methodology to characterize the OS energy overhead. They measured the energy consumption of the eCos real time OS (RTOS) running on a prototype wearable computer, HP’s SmartBadgeIII. Then, they studied the energy impact of the RTOS both at the kernel and at the I/O driver level and determine the key parameters affecting the energy consumption. This work studied the relation between the power and performance of the OS services and the CPU clock frequency. Acquaviva et al. perform analysis but they did not model the energy consumption of the OS services and drivers. Tan et al. [4] modeled the OSs energy consumption at the kernel level. They classify the energy into two groups: the explicit energy which is related directly to the OS primitives and the implicit energy which results from the running of the OS engine. The authors explained their approaches to measure these classes of energy and they proposed energy consumption macro models. Then, Tan et al. validated their methodology on two embedded OSs, μCOS and Linux OS. However, the scope of the proposed work in [4] is limited in some ways as it targets the OS’s running on a single processor. Also, the authors do not consider the I/O drivers in the proposed energy consumption model. Dick et al. [5] analyzed the power consumption of the μCOS OS which is running several embedded applications on a Fujitsi SPARClite processor based embedded system. The authors demonstrated that the OS functions have an important impact on the total energy consumption. This impact depends on the complexity of the applications. The presented work represents only an analysis of OS power consumption. Dick et al. did not propose an energy consumption model. Baynes et al. [6] described their simulation environment, Simbed, which evaluates the performance and energy consumption of the RTOS and embedded applications. The authors compared three different RTOS’s: μCOS, Echidna and NOS. They found that the OS overhead depends on the applications. It is so high for Ouni et al. EURASIP Journal on Embedded Systems 2012, 2012:6 Page 3 of 16 http://jes.eurasipjournals.com/content/2012/1/6 the lightweight applications and diminishes for more compute-intensive applications. Nevertheless, Baynes et al. presented high level energy measurements (simulation), the extracted models are not realistic because they are not deduced from measurements on actual hardware platform. Also, the energy consumption of OS services compared with the total application energy consumption was not calculated. Guo et al. [7] proposed a novel approach using hopfield neural network to solve the problem of RTOS power partitioning; they target to optimally allocate the RTOS’s behavior to the hardware/software system. They defined a new energy function for this kind of neural network and some considerations on the state updating rule. The obtained simulation results show that the proposed method can perform energy saving up to 60%. This work does not consider energy macromodeling and RTOS services. Zhao et al. [8] propose a new approach to estimate and optimize the energy consumption of the embedded OS and the applications at a fine-grained level. The work is based on power model and a new estimationmodel for OS energy consumption. Zhao et al. demonstrate that the approach can characterize and optimize the energy consumption of fine-grained software components. Fournel et al. [9] present a performance and energy consumption simulator for embedded system executing an application code. This work allows designers to get fast performance and consumption estimations without deploying software on target hardware, while being independent of any compilation tools or software components such as network protocols or OSs. Fei et al. [10] interest in reducing the energy consumption of the OS-driven multi-process embedded software programs by transforming its source code. They minimize the energy consumed in the execution of OS functions and services. The authors propose four types of transformations, namely process-level concurrency management, message vectorization, computation migration and IPC mechanism selection. Fei et al. evaluate the applicability of theses techniques in the context of an embedded system containing an Intel StrongARM processor and embedded Linux OS. They manage process-level concurrency through process merging to save context switch overhead and IPCs. They modify the process interface by vectorizing the communications between processes and selecting an energy-efficient IPC mechanism. This work attempt to relocate computations from one process to another so as to reduce the number and data volume of IPCs. These transformations provide complementary optimization strategies to traditional compiler optimizations for energy savings. Dhouib et al. [11] propose a multi-layer approach to estimate the energy consumption of embedded OSs. The authors start by estimating energy and power consumption of standalone tasks. Then they add energy overheads of the OS services which are timer interrupts, IPC and peripheral device accesses. They validate the multi-layer approach by estimating the energy consumption of an M-JPEG encoder running on linux 2.6 and deployed on a XUP Virtex-II pro development board. In the recent works, low power OSs, which are the embedded OS allowing the binding of the application on hardware platform adapting low power techniques, are not considered. It is not mentioned what are the processor capabilities and which low power policy is used. In fact, the energy consumption of OS services depends on low power policy used. For example, we will see in this article that the context switch energy overhead is important due to the use of specific technique, aiming at reducing the power consumption, that stimulates this service. Creative chip designers have come up with a variety of methods and techniques to reduce power without impacting system performance. For instance, the embedded system used in this work, OMAP35x EVM board, has three basic methods to reduce the power consumption: dynamic voltage and frequency scaling (DVFS), adaptive voltage scaling (AVS) and dynamic power switching (DPS). This article relies on studying the energy overhead of embedded OS adapting DVFS technique. Energy characterization and estimation flow Power and energy consumption are important performance metrics for embedded systems. In electrical circuits, the power is the product of the potential difference (voltage) and the electric current. Formally, the energy consumed by a system is the amount of power dissipated during a certain period of time. For instance, if a task T occupies a processor during an execution interval of [a,b] then the energy consumed by the processor ET during this time interval is given by this Equation (1):

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A simulation framework for energy-consumption analysis of OS-driven embedded applications

Energy consumption has become a major focus in the design of embedded systems (e.g., mobile computing and wireless communication devices). In particular, a shift of emphasis from hardware-oriented low-energy design techniques to energy-efficient embedded software design has occurred progressively in the past few years. To that end, various techniques have been developed for the design of energy...

متن کامل

Novel source-independent characterization methodology for embedded software energy estimation and optimization

In order to design a successful low-energy VLSI system, concurrent energy reduction at hardware and software levels is needed. The available techniques for embedded software energy estimation either provide unusable average-case results or require prohibitively complex hardware setups for cycle-accurate results. This paper introduces a new methodology for high-level software energy estimation f...

متن کامل

Functional-Level Energy Characterization of µC/OS-II and Cache Locking for Energy Saving

We show how to characterize the energy consumption of individual operating system (OS) functions in the mC/OS-II real time kernel running on an ARM7TDMI-based embedded system. We then derive a strategy for saving energy based on locking more energy-consuming kernel routines of mC/OS-II into the cache and reassigning cache locations to reduce cache contention between frequently invoked kernel fu...

متن کامل

Automist - A Tool for Automated Instruction Set Characterization of Embedded Processors

The steadily increasing performance of mobile devices also implies a rise in power consumption. To counteract this trend it is mandatory to accomplish software power optimizations based on accurate power consumption models characterized for the processor. This paper presents an environment for automated instruction set characterization based on physical power measurements. Based on a detailed i...

متن کامل

Automatic Targeting of Embedded Systems Software with Application Specific Operating Systems Generation

We propose a method of automatic generation of application specific operating systems (OS’s) and automatic targeting of application software. OS generation starts from a very small but yet flexible OS kernel. OS services, which are specific to the application and deduced from dependency between services, are added to the kernel to construct the whole OS. Communication and synchronization functi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • EURASIP J. Emb. Sys.

دوره 2012  شماره 

صفحات  -

تاریخ انتشار 2012